1. Field of the Invention
The present invention relates to the field of user interfaces for computers, and more particularly to a method and apparatus for navigating multiple windowed images that may be used to provide an improved graphical user interface for computer systems,
2. Background Art
The means by which a computer user communicates with a computer is referred to as the "user interface." A user interface typically consists of computer hardware such as a computer display screen, a keyboard, and a mouse, as well as computer software that interprets a user's keyboard and mouse input and provides the images shown on the computer display screen.
Two categories of user interfaces are text-based user interfaces and graphical user interfaces. With text-based user interfaces, communications between a user and a computer typically consist of written words and messages. User input to the computer with a basic text-based interface consists of text messages and commands typed on the keyboard, and computer output to the user consists of text messages displayed on the computer display screen. More "user friendly" text based interfaces provide additional features such as pull-down command menus and mouse input that make it easier for a user to enter text-based commands.
With graphical user interfaces, also referred to as "GUI's," communications between a user and a computer consist of graphical images as well as written words and messages. A typical graphical user interface provides features such as pull-down menus and pictorial representations called "icons" that allow the user to perform many computer operations simply by using a mouse to point and click on an appropriate icon or menu displayed on the computer display screen.
Graphical user interfaces typically also feature "windows." A "window" is a portion of a display screen that is dedicated to a particular purpose. Two common examples of operating systems that provide windowing graphical user interfaces are Microsoft Windows.TM. and the Apple Macintosh.TM. operating systems. A GUI that utilizes "windows" typically divides the display screen into movable, resizable, rectangular windows. Each window may be dedicated to a different file or program, or a single program may use multiple windows to display information in different ways.
A property commonly associated with a window is the ability to "scroll" or "pan" the window. Scrolling or panning is used when the item displayed in a window, for example a graphic image in a drawing program or a document in a word processing program, is too large to be displayed in the window all at the same time. In this case, the window can often be "scrolled" or "panned" to a new position relative to the underlying image or document such that the window shows portions of the underlying image or document that previously were outside of the portion shown in the window. The term "scrolling" shall be used herein to refer to both scrolling and panning.
A means typically provided to a user to allow the user to scroll a window are "scroll bars." A scroll bar typically consists of an image of a bar that is displayed along one side of the window. A box that indicates the position of the window with respect to the underlying image or document is displayed on the bar. The box can be "dragged" along the bar by a mouse. The new position of the box indicates the new position of the window in relation to the underlying image. After the box is dragged to the new position and released, the image shown in the window is replaced with an image corresponding to the window's new position. Two scroll bars are commonly used: a vertical scroll bar alongside one of the sides of the window for scrolling the image shown in the window in a vertical direction and a horizontal scroll bar along the top or bottom of the window for scrolling the image in a horizontal direction. The scroll bars thus allow the user to navigate the image or document underlying the window.
If more than one window is shown on a display screen, each window typically has its own scroll bars. Each window scrolls independently: scrolling the image displayed in one window does not scroll the image displayed in other windows. FIG. 1 shows a typical prior art display screen P100 containing two windows P110 and P120. Window P110 is for a word-processing program. It shows a portion P115 of a written document showing different printer fonts and sizes. Window P120 is for a painting program. It shows a portion P125 of a bitmapped image of a locomotive. Window P110 has a vertical scroll bar P130 with a scroll box P135 along its right hand side, and a horizontal scroll bar P140 with a scroll box P145 along its bottom. Window P120 has a vertical scroll bar P150 with a scroll box P155 along its right hand side, and a horizontal scroll bar P160 with a scroll box P165 along its bottom.
FIG. 2 shows how moving the scroll boxes along the scroll bars for a window moves the position of the window with respect to the underlying image or document. In FIG. 2, vertical scroll box P135 of window P110 has been dragged vertically downwards from its position in FIG. 1. Accordingly, window P110 has been moved to a position further down the document shown in window P110. Horizontal scroll box P145 of window P110 has also been dragged a distance to the right along horizontal scroll bar 140, scrolling window P110 to the right. In a similar manner horizontal scroll box P165 of window P120 has been dragged a distance to the right along horizontal scroll bar 160, scrolling window P120 to the right as well.
Certain prior art programs may display two views of an image simultaneously. The painting program shown in FIG. 2, for example, incorporates a "zoom" mode that shows a magnified view of the displayed image. FIG. 3 shows the painting program window P120 of FIG. 2 with the zoom mode activated and the window as a whole resized to a larger size. Because the image displayed is magnified, window P120 in FIG. 3 only shows a portion of the image displayed in window P120 of FIG. 2. Rectangle P200 shown in outline form in window P120 in FIG. 2 represents the portion of the image shown in window P120 of FIG. 2 that is displayed magnified in window P120 of FIG. 3. As shown in FIG. 3, window P120, in addition to showing the magnified image in its main display area, also includes a small auxiliary window P300 in its upper left-hand corner. Auxiliary window P300 shows an unmagnified view of the same portion of the image shown in magnified form in the main display area of window P120. Thus the prior art program shown in FIG. 3 shows the same image in two windows, but at different scales.
As in the unmagnified mode shown in FIG. 2, window P120 of FIG. 3 incorporates scroll bars P150 and P160 and scroll boxes P155 and P165, respectively, that can be used to control the position of window 120 with respect to the underlying image. Auxiliary window P300 does not have separate scroll bars. Instead, scroll bars P150 and P160 of window P120 are used to scroll both window P120 and auxiliary window P300. For the prior art program shown in FIG. 3, scrolling of window P120 and auxiliary window P300 is accomplished as follows. As a scroll box in a scroll bar is dragged by a mouse to a new location, the auxiliary window P300 scrolls in real time. That is, as the scroll box is dragged, auxiliary window P300 scrolls to follow the movement of the scroll box. Window P120, however, does not scroll with the movement of the scroll box. Instead, window P120 jumps to the final scrolled position after the scroll box has been moved and the mouse button is released. FIG. 4 shows the images displayed in window P120 and auxiliary window P300 after the scroll boxes P155 and P165 have been moved from their position in FIG. 3. Rectangle P210 shown in outline form in FIG. 2 represents the position of windows P120 and P300 in FIG. 4.
The window navigation scheme of the prior art shown in FIGS. 1 and 2, in which each window shows an independent image, does not provide any coordination between the scrolling of one window and the other. Each window must be scrolled independently. In the window navigation scheme of the prior art shown in FIGS. 3 and 4, scroll bars P150 and P160 control the scrolling of both window P120 and auxiliary window P300. However, the images shown in windows P120 and P300 are not separate, independent images, but are the same image shown at different magnification scales. Furthermore, windows P120 and P300 do not scroll in a coordinated manner: auxiliary window P300 scrolls in real time with movement of the scroll boxes, while window P120 only jumps from the initial position to a final position. The prior art does not provide a method by which multiple, independent images may be navigated in a convenient, coordinated manner.